#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub struct Margin2<T> {
    pub left: T,
    pub right: T,
    pub top: T,
    pub bottom: T,
}

impl<T> Margin2<T> {
    pub fn new(left: T, right: T, top: T, bottom: T) -> Self {
        Self { left, right, top, bottom }
    }
}